from flask import Blueprint
from flask import redirect
from flask import request
from flask import session

admin_blueprint = Blueprint('admin',__name__,url_prefix='/admin')


from . import views







#使用蓝图注册请求勾子，只对这个蓝图注册的视图函数有效
@admin_blueprint.before_request
def login_valid():
    #对于请求勾子函数，所有的视图函数都会执行
    #注意：总会有个别视图函数，不需要执行这个请求勾子函数，如何排除呢？
    #解决：做判断
    ignore_list=['/admin/login',]
    if request.path not in ignore_list:
        if 'admin_user_id' not in session:
            return redirect('/admin/login')







# 使用蓝图注册请求钩子,只对这个蓝图注册的试图函数有效
# @admin_blueprint.before_request
# def login_valid():
#     # 对于请求钩子函数,所有的试图都会执行
#     # !!!肯定会有个别试图函数不需要执行这个请求钩子函数,如何排除
#     #解决方案
#     # 判断
#     ignore_list = ['.admin/login'] #使用这个方法将来吧不需要
#     #执行的试图放入列表中
#     if request.path not in ignore_list:
#         # 如果账户不在登录 不在session登录保持中
#         if 'admin_user_id' not in session:
#             return redirect('/admin/login')

